package com.edu.exam.enums.examination.paper;

/**
 * 分割压缩格式枚举
 */
public enum SegmentedCompressionFormat {
    NONE("NONE", "无压缩"),
    GZIP("GZIP", "GZIP压缩"),
    ZIP("ZIP", "ZIP压缩"),
    BZIP2("BZIP2", "BZIP2压缩"),
    LZMA("LZMA", "LZMA压缩"),
    XZ("XZ", "XZ压缩"),
    LZ4("LZ4", "LZ4压缩"),
    ZSTD("ZSTD", "ZSTD压缩"),
    BROTLI("BROTLI", "Brotli压缩"),
    DEFLATE("DEFLATE", "Deflate压缩"),
    LZW("LZW", "LZW压缩"),
    RLE("RLE", "RLE压缩"),
    HUFFMAN("HUFFMAN", "哈夫曼压缩"),
    ARITHMETIC("ARITHMETIC", "算术压缩"),
    BURROWS_WHEELER("BURROWS_WHEELER", "Burrows-Wheeler变换"),
    MOVE_TO_FRONT("MOVE_TO_FRONT", "Move-to-Front变换"),
    Lempel_Ziv_77("LZ77", "LZ77压缩"),
    Lempel_Ziv_78("LZ78", "LZ78压缩"),
    Lempel_Ziv_Welch("LZW", "LZW压缩"),
    RUN_LENGTH("RUN_LENGTH", "行程编码"),
    PACKBITS("PACKBITS", "PackBits压缩"),
    PCX("PCX", "PCX压缩"),
    TIFF("TIFF", "TIFF压缩"),
    JPEG("JPEG", "JPEG压缩"),
    JPEG_LS("JPEG_LS", "JPEG-LS压缩"),
    JPEG_2000("JPEG_2000", "JPEG2000压缩"),
    JPEG_XR("JPEG_XR", "JPEG-XR压缩"),
    WEBP("WEBP", "WebP压缩"),
    HEIC("HEIC", "HEIC压缩"),
    AVIF("AVIF", "AVIF压缩");

    private final String code;
    private final String description;

    SegmentedCompressionFormat(String code, String description) {
        this.code = code;
        this.description = description;
    }

    public String getCode() {
        return code;
    }

    public String getDescription() {
        return description;
    }

    public String getDisplayName() {
        return description;
    }
}
